1) Field of the Invention
The present invention relates to a communication control method and unit for use in communication systems such as an ATM network.
2) Description of the Related Art
In the recent years, in an ATM (Asynchronous Transfer Mode) network in which a packet of a fixed length (53 bytes), called xe2x80x9ccellxe2x80x9d, is transmitted through a plurality of connections (virtual channels), there has arisen a requirement for the realization of a service which guarantees the minimum bandwidth (MCR; Minimum Cell Rate) and limits the maximum bandwidth (PCR; Peak Cell Rate) at every connection.
For this requirement to reach satisfaction, there has been proposed a communication control device disclosed in Japanese Unexamined Patent Publication No. (HEI) 11-239151. A detailed description will be given hereinbelow of this device for a comparison with the present invention and for a abetter understanding of the invention (where a portion of the terms differ therefrom).
This device includes a buffer and a connection retrieval table. The buffer is for storing an inputted cell in the corresponding partition (storage section) in accordance with the connection identification information contained in the same cell.
The connection retrieval table is constructed with an associative memory (content addressable memory, which will be called xe2x80x9cCAMxe2x80x9d for short). In this connection retrieval table, not only a lower-limit throughput MCR corresponding to the minimum bandwidth to be ensured is stored according to connection, but also a result (PCRxe2x88x92MCR) of a subtraction of the aforesaid MCR from an upper-limit throughput PCR corresponding to the maximum bandwidth is stored for limiting the maximum bandwidth, and even a buffer flag is stored which is representative of whether or not a cell(s) exists in the buffer, according to partition, i.e., connection.
This connection retrieval table additionally contains the numbers of first and second remaining cells. The number of first remaining cells decreases by one whenever cell transmission takes place in a state where the foregoing lower-limit throughput MCR constitutes its initial value, while the number of second remaining cells decreases by one at every cell transmission after the number of first remaining cells reaches zero in a state where the aforesaid (PCRxe2x88x92MCR) forms its initial value. The number of first remaining cells is representative of how many cells remain to be transmitted for ensuring the minimum bandwidth, while the number of second remaining cells is indicative of how many transmittable cells remain for limiting the maximum bandwidth.
The retrieval of the above-mentioned connection retrieval table is made through the use of a CAM: retrieval facility according to the round robin control method. First, a retrieval is made on the basis of the content of the number of first remaining cells  greater than 1 and the buffer flag =1, and a cell is transmitted from the partition corresponding to the hit connection. On the other hand, if a round of all the connections is made while still hitting no connection on the basis of the aforesaid contents, then a retrieval is further done by the content of the number of second remaining cells  greater than 1 and the buffer flag =1, and a cell is sent out from the partition corresponding to the hit connection. Nevertheless, if this content also does not produce the hit on a connection, an idle cell is sent out in this case.
With the above-mentioned retrieval, until the lower-limit throughput is reached with respect to all the connections, if the cell to be transmitted exists, the transmission of cells exceeding the lower-limit throughout is inhibited, thereby ensuring the minimum bandwidth on all the connections. In addition, in the case of the connections in which the number of transmitted cells reaches the upper-limit throughput, the cell transmission from a buffer is inhibited, which can limit the maximum bandwidth.
Incidentally, the above-described Publication additionally discloses a unit in which a flag is stored in place of the number of second remaining cells to make a retrieval efficiently.
However, although the unit disclosed in the Publication can achieve the minimum bandwidth guarantee and the maximum bandwidth restriction according to connection (user), difficulty is encountered in allocating the extra-bandwidth, exceeding the lower-limit throughput for each connection, in accordance with the volume of user""s contract band. That is, the extra-bandwidth before the maximum bandwidth restriction is equally used for all the connections, which signifies that difficulty is experienced in allocating the extra-bandwidth in accordance with the user""s contract band volume.
In accordance with a first aspect of the present invention, there is provided a communication control method of once storing fixed-length packets in corresponding storage sections in accordance with connection information contained in the packets and of then transmitting the packets from the storage sections in succession, the method comprising the steps of setting a lower-limit throughput corresponding to a minimum bandwidth to be ensured, an upper-limit throughput corresponding to a maximum bandwidth to be limited, and at least one intermediate throughput between the lower-limit throughput and the upper-limit throughput; counting the number of packets transmitted for each of connections, and monitoring whether or not a packet to be transmit ted exists in the storage section, for each of the connections; retrieving a connection, satisfying a first condition that the number of transmitted packets does not reach the lower-limit throughput and the packet to be transmitted exists in the corresponding storage section, with first priority, and further, if no hit connection exists under the first condition; retrieving a connection satisfying a second connection that the number of transmitted packets does not reach the intermediate throughput and the packet to be transmitted exists in the corresponding storage section, and still further, if no hit connection exists under the second condition, retrieving a connection satisfying a third connection that the number of transmitted packets does not reach the upper-limit throughput and the packet to be transmitted exists in the corresponding storage section; if a hit connection is present under any one of the first to third conditions, transmitting the packet from the storage section corresponding to the hit connection and terminating one-time retrieval, while if no hit connection exists under each of the first to third conditions, terminating one-time retrieval without conducting the packet transmission from the storage section and then resuming the retrieval at the connection satisfying that the number of transmitted packets does not reach the lower-limit throughput; and during the repetition of the retrieval, stopping the packet transmission for a connection where the number of transmitted packets reaches the upper-limit throughput.
In this case, the connection retrieval is made in a predetermined sequence, and the following retrieval resumes at a connection subsequent to the hit connection. Furthermore, a control cycle of a predetermined time period is set so that the retrieval is made more-than-one times in the control cycle, and the number of packets transmitted is counted according to connection in the control cycle, and whenever the control cycle starts newly, the count value of packets transmitted is cleared, before the counting resumes.
It is also appropriate that a plurality of intermediate throughputs are set as the intermediate throughput between the lower-limit throughput and the upper-limit throughput, and in the retrieval, a connection satisfying the first condition that the number of transmitted packets does not reach the lower-limit throughput and the packet to be transmitted exists in the corresponding storage section is retrieved with first priority, and if no hit connection exists under the first condition, the connection retrieval is made stepwise in the order of increasing intermediate throughput, and if no hit connection exists even in the retrieval made on the basis of the largest intermediate throughput, the connection retrieval is finally made for a connection satisfying the third connection that the number of transmitted packets does not reach the upper-limit throughput and the packet to be transmitted exists in the corresponding storage section.
In addition, it is also appropriate that the intermediate throughput is set to partition equally the range between the lower-limit throughput and the upper-limit throughput, that, for a portion of the connections, the lower-limit throughput is set at zero, or that, for a portion of the connections, the lower-limit throughput, the intermediate throughput and the upper-limit throughput are set to be equal to each other.
Moreover, in accordance with another aspect of the present invention, there is provided a communication control unit comprising: a plurality of storage sections each for storing fixed-length packets for each of connections; a storage control section for recognizing connection identification information contained in a packet inputted to store the packet in the storage section corresponding to the connection recognized; a transmitted packet counting section for counting the number of transmitted packets for the corresponding connection whenever packet transmission takes place; a control parameter memory for storing the number of transmitted packets counted in a control cycle of a predetermined time period, and further for storing the number of packets accumulated in the storage section according to connection; an accumulated packet addition section for adding one to the number of accumulated packets in the control parameter memory to update the number of accumulated packets whenever a packet is stored in the storage section; an accumulated packet subtraction section for subtracting one from the number of accumulated packets in the control parameter memory to update the number of accumulated packets whenever a packet is transmitted from the storage section; a set parameter memory for storing a lower-limit throughput corresponding to a minimum bandwidth to be ensured, an upper-limit throughput corresponding to a maximum bandwidth to be limited, and at least one intermediate throughput between the lower-limit throughput and the upper-limit throughput, according to connection; a class designation section for classifying all of the connections on the basis of throughput information stored in the set parameter memory according to connection and the number of transmitted packets stored in the control parameter memory according to connection so that a class in which the number of transmitted packets does not reach the lower-limit throughput is designated as a highest transmission priority class, and of a plurality of classes obtained by partitioning a range between the lower-limit throughput and the upper-limit throughput by the intermediate throughput, a class in which the number of transmitted packets is lower is designated as a higher transmission priority class, with the class designation section designating, as a transmission inhibition class, a connection in which the number of transmitted packets reaches the upper-limit throughput; an accumulation status recognition section for recognizing a packet accumulation status signifying whether or not a packet is accumulated in the storage section, on the basis of the number of accumulated packets stored in the control parameter memory; a retrieval table for storing the designated classes and a flag indicative of the recognized packet accumulation status for each of the connections; retrieving means for conducting retrieval with respect to the retrieval table more-than-one times in the control cycle, with the retrieving means conducting the first retrieval in the order of descending transmission priority class and conducting connection retrieval on each of the classes in a predetermined sequence to seek a hit connection which pertains to a class under retrieval and for which the packet accumulation flag shows packet accumulation, and if no hit takes place on all the connections, conducting connection retrieval with respect to a lower transmission priority class in like manner, and, if no hit takes places with respect to the lowest transmission priority class, outputting a retrieval result showing the absence of a hit connection while, if a hit on a connection takes place in any one of the classes, resuming the following retrieval at a connection subsequent to the hit connection; and a transmission control section for, when the retrieving means seeks a hit connection, transmitting the packets from the storage section corresponding to the hit connection, and for, when the retrieving means outputs the hit connection absence retrieval result, stopping packet transmission from the storage section.
According to a feature of the present invention, an intermediate throughput is set to manage each of connections according to precedence so that an extra-bandwidth is allocated according to contact bandwidth volume, which can use the extra-bandwidth efficiently.
According to another feature of the inventions since the retrieval resumes at a connection subsequent to a hit connection, it is possible to evenhandedly implement the bandwidth control on the basis of set throughputs.
According to a further feature of the invention, a control cycle of a predetermined time period is set for conducting retrieval more-than-one times so that the number of packets transmitted according to connection is counted in the control cycle and the counting thereof starts in a state where the count value is cleared whenever the control cycle starts newly. Accordingly, it is possible to precisely understand the number of transmitted packets in one-time control cycle (predetermined time period), which enables accurate bandwidth control through the comparison between the number of transmitted packets and the upper-limit, lower-limit and intermediate throughputs.
According to a further feature of the invention, a plurality of intermediate throughputs are set, thus achieving fine control based upon precedence.
According to a further feature of the invention, the intermediate throughput is set at an appropriate value.
According to a further feature of the invention, various access modes are acceptable by adjusting the upper-limit, lower-limit and intermediate throughputs.